App({
  globalData: {
    needRefreshPosts: null, // 用于标记是否需要刷新帖子列表
    userInfo: null,
    theme: 'light' // 默认主题
  },

  onLaunch() {
    // 初始化事件中心
    wx.eventCenter = {
      listeners: {},
      emit(event, data) {
        if (this.listeners[event]) {
          this.listeners[event].forEach(callback => callback(data))
        }
      },
      on(event, callback) {
        if (!this.listeners[event]) {
          this.listeners[event] = []
        }
        this.listeners[event].push(callback)
      },
      off(event, callback) {
        if (this.listeners[event]) {
          if (callback) {
            this.listeners[event] = this.listeners[event].filter(cb => cb !== callback)
          } else {
            this.listeners[event] = []
          }
        }
      }
    }

    // 初始化主题
    const theme = wx.getStorageSync('theme') || 'light'
    this.globalData.theme = theme
    
    // 尝试从本地存储获取用户信息
    const userInfo = wx.getStorageSync('userInfo')
    if (userInfo) {
      this.globalData.userInfo = userInfo
    }
  },

  // 登录并保存用户信息
  login(userInfo) {
    this.globalData.userInfo = userInfo
    // 保存到本地存储
    wx.setStorageSync('userInfo', userInfo)
  },

  // 登出
  logout() {
    this.globalData.userInfo = null
    wx.removeStorageSync('userInfo')
  },

  // 切换主题的全局方法
  toggleTheme() {
    const newTheme = this.globalData.theme === 'light' ? 'dark' : 'light'
    this.globalData.theme = newTheme
    wx.setStorageSync('theme', newTheme)
    
    // 更新导航栏颜色
    wx.setNavigationBarColor({
      frontColor: newTheme === 'light' ? '#000000' : '#ffffff',
      backgroundColor: newTheme === 'light' ? '#ffffff' : '#000000'
    })
    
    // 发送主题变更事件
    wx.eventCenter.emit('themeChanged', newTheme)
  },

  // ... 其他代码
}) 